home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / text / html / StyleSheet$ViewAttributeSet.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  3.6 KB  |  133 lines

  1. package javax.swing.text.html;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Vector;
  5. import javax.swing.text.AttributeSet;
  6. import javax.swing.text.Document;
  7. import javax.swing.text.Element;
  8. import javax.swing.text.Style;
  9. import javax.swing.text.StyleConstants;
  10. import javax.swing.text.View;
  11. import javax.swing.text.html.HTML.Attribute;
  12. import javax.swing.text.html.HTML.Tag;
  13. import javax.swing.text.html.StyleSheet.SearchBuffer;
  14.  
  15. class StyleSheet$ViewAttributeSet extends StyleSheet.MuxingAttributeSet {
  16.    // $FF: synthetic field
  17.    private final StyleSheet this$0;
  18.    View host;
  19.  
  20.    StyleSheet$ViewAttributeSet(StyleSheet var1, View var2) {
  21.       this.this$0 = var1;
  22.       this.host = var2;
  23.       Document var3 = var2.getDocument();
  24.       StyleSheet.SearchBuffer var4 = SearchBuffer.obtainSearchBuffer();
  25.       Vector var5 = var4.getVector();
  26.  
  27.       try {
  28.          if (var3 instanceof HTMLDocument) {
  29.             StyleSheet var8 = var1;
  30.             Element var9 = var2.getElement();
  31.             AttributeSet var10 = var9.getAttributes();
  32.             AttributeSet var11 = var1.translateHTMLToCSS(var10);
  33.             if (var11.getAttributeCount() != 0) {
  34.                var5.addElement(var11);
  35.             }
  36.  
  37.             if (!var9.isLeaf()) {
  38.                HTML.Tag var18 = (HTML.Tag)var10.getAttribute(StyleConstants.NameAttribute);
  39.                if (var18 == Tag.IMPLIED) {
  40.                   var18 = Tag.P;
  41.                }
  42.  
  43.                Style var19 = var1.getRule(var18, var9);
  44.                if (var19 != null) {
  45.                   var5.addElement(var19);
  46.                }
  47.             } else {
  48.                Enumeration var12 = var10.getAttributeNames();
  49.  
  50.                while(var12.hasMoreElements()) {
  51.                   Object var13 = var12.nextElement();
  52.                   if (var13 instanceof HTML.Tag) {
  53.                      if ((HTML.Tag)var13 == Tag.A) {
  54.                         Object var14 = var10.getAttribute((HTML.Tag)var13);
  55.                         if (var14 != null && var14 instanceof AttributeSet) {
  56.                            AttributeSet var15 = (AttributeSet)var14;
  57.                            if (var15.getAttribute(Attribute.HREF) == null) {
  58.                               continue;
  59.                            }
  60.                         }
  61.                      }
  62.  
  63.                      Style var20 = var8.getRule((HTML.Tag)var13, var9);
  64.                      if (var20 != null) {
  65.                         var5.addElement(var20);
  66.                      }
  67.                   }
  68.                }
  69.             }
  70.          }
  71.  
  72.          super.attrs = new AttributeSet[var5.size()];
  73.          var5.copyInto(super.attrs);
  74.       } finally {
  75.          SearchBuffer.releaseSearchBuffer(var4);
  76.       }
  77.  
  78.    }
  79.  
  80.    Object doGetAttribute(Object var1) {
  81.       Object var2 = super.getAttribute(var1);
  82.       if (var2 != null) {
  83.          return var2;
  84.       } else {
  85.          if (var1 instanceof CSS.Attribute) {
  86.             CSS.Attribute var3 = (CSS.Attribute)var1;
  87.             if (var3.isInherited()) {
  88.                AttributeSet var4 = this.getResolveParent();
  89.                if (var4 != null) {
  90.                   return var4.getAttribute(var1);
  91.                }
  92.             }
  93.          }
  94.  
  95.          return null;
  96.       }
  97.    }
  98.  
  99.    public Object getAttribute(Object var1) {
  100.       if (var1 instanceof StyleConstants) {
  101.          CSS.Attribute var2 = StyleSheet.access$0(this.this$0).styleConstantsKeyToCSSKey((StyleConstants)var1);
  102.          if (var2 != null) {
  103.             Object var3 = this.doGetAttribute(var2);
  104.             if (var3 instanceof CSS.CssValue) {
  105.                return ((CSS.CssValue)var3).toStyleConstants((StyleConstants)var1);
  106.             }
  107.          }
  108.       }
  109.  
  110.       return this.doGetAttribute(var1);
  111.    }
  112.  
  113.    public AttributeSet getResolveParent() {
  114.       if (this.host == null) {
  115.          return null;
  116.       } else {
  117.          View var1 = this.host.getParent();
  118.          return var1 != null ? var1.getAttributes() : null;
  119.       }
  120.    }
  121.  
  122.    public boolean isDefined(Object var1) {
  123.       if (var1 instanceof StyleConstants) {
  124.          CSS.Attribute var2 = StyleSheet.access$0(this.this$0).styleConstantsKeyToCSSKey((StyleConstants)var1);
  125.          if (var2 != null) {
  126.             var1 = var2;
  127.          }
  128.       }
  129.  
  130.       return super.isDefined(var1);
  131.    }
  132. }
  133.